package com.liqing.movecomment.vo;

import com.baomidou.mybatisplus.annotation.FieldFill;
import com.baomidou.mybatisplus.annotation.TableField;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.springframework.format.annotation.DateTimeFormat;
import java.time.LocalDateTime;


public class CollectionVo {
    private Integer id;
    private Integer moveId;
    private Integer userId;
    @TableField(fill = FieldFill.INSERT)
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime createTime;
    //<editor-fold defaultstate="collapsed" desc="delombok">
    private MoveVo moveVo;
    //</editor-fold>

    //<editor-fold defaultstate="collapsed" desc="delombok">
    @SuppressWarnings("all")
    public CollectionVo() {
    }
    //</editor-fold>

    @SuppressWarnings("all")
    public Integer getId() {
        return this.id;
    }

    //<editor-fold defaultstate="collapsed" desc="delombok">
    @SuppressWarnings("all")
    public Integer getMoveId() {
        return this.moveId;
    }

    @SuppressWarnings("all")
    public Integer getUserId() {
        return this.userId;
    }

    @SuppressWarnings("all")
    public LocalDateTime getCreateTime() {
        return this.createTime;
    }

    @SuppressWarnings("all")
    public MoveVo getMoveVo() {
        return this.moveVo;
    }

    @SuppressWarnings("all")
    public void setId(final Integer id) {
        this.id = id;
    }

    @SuppressWarnings("all")
    public void setMoveId(final Integer moveId) {
        this.moveId = moveId;
    }

    @SuppressWarnings("all")
    public void setUserId(final Integer userId) {
        this.userId = userId;
    }

    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    @SuppressWarnings("all")
    public void setCreateTime(final LocalDateTime createTime) {
        this.createTime = createTime;
    }

    @SuppressWarnings("all")
    public void setMoveVo(final MoveVo moveVo) {
        this.moveVo = moveVo;
    }

    @Override
    @SuppressWarnings("all")
    public boolean equals(final Object o) {
        if (o == this) return true;
        if (!(o instanceof CollectionVo)) return false;
        final CollectionVo other = (CollectionVo) o;
        if (!other.canEqual((Object) this)) return false;
        final Object this$id = this.getId();
        final Object other$id = other.getId();
        if (this$id == null ? other$id != null : !this$id.equals(other$id)) return false;
        final Object this$moveId = this.getMoveId();
        final Object other$moveId = other.getMoveId();
        if (this$moveId == null ? other$moveId != null : !this$moveId.equals(other$moveId)) return false;
        final Object this$userId = this.getUserId();
        final Object other$userId = other.getUserId();
        if (this$userId == null ? other$userId != null : !this$userId.equals(other$userId)) return false;
        final Object this$createTime = this.getCreateTime();
        final Object other$createTime = other.getCreateTime();
        if (this$createTime == null ? other$createTime != null : !this$createTime.equals(other$createTime)) return false;
        final Object this$moveVo = this.getMoveVo();
        final Object other$moveVo = other.getMoveVo();
        if (this$moveVo == null ? other$moveVo != null : !this$moveVo.equals(other$moveVo)) return false;
        return true;
    }

    @SuppressWarnings("all")
    protected boolean canEqual(final Object other) {
        return other instanceof CollectionVo;
    }

    @Override
    @SuppressWarnings("all")
    public int hashCode() {
        final int PRIME = 59;
        int result = 1;
        final Object $id = this.getId();
        result = result * PRIME + ($id == null ? 43 : $id.hashCode());
        final Object $moveId = this.getMoveId();
        result = result * PRIME + ($moveId == null ? 43 : $moveId.hashCode());
        final Object $userId = this.getUserId();
        result = result * PRIME + ($userId == null ? 43 : $userId.hashCode());
        final Object $createTime = this.getCreateTime();
        result = result * PRIME + ($createTime == null ? 43 : $createTime.hashCode());
        final Object $moveVo = this.getMoveVo();
        result = result * PRIME + ($moveVo == null ? 43 : $moveVo.hashCode());
        return result;
    }

    @Override
    @SuppressWarnings("all")
    public String toString() {
        return "CollectionVo(id=" + this.getId() + ", moveId=" + this.getMoveId() + ", userId=" + this.getUserId() + ", createTime=" + this.getCreateTime() + ", moveVo=" + this.getMoveVo() + ")";
    }
    //</editor-fold>
}
